#pragma once

#include "ui.h"
#include "ui_base.h"

_SSL_BEGIN
_SSUIL_BEGIN

#pragma warning(push)
#pragma warning(disable:4250)
#pragma warning(disable:4251)

class SSUI_CLASS UIDiskFilesManager :
	public IUIDiskFilesManagerInterface,
	public ref_counted_base
{
public:
	UIDiskFilesManager(int id);
	virtual ~UIDiskFilesManager();

	// IUIDiskFilesManagerInterface
public:
	virtual unsigned char* GetFileBuffer(const tchar *file,
		ssbin &bin, size_t extra_bytes, int id = 0);
	virtual void SetUpperDiskFilesManager(IUIDiskFilesManagerInterface *upper_disk_files_manager,
		int id);

public:
	void SetBasePath(const tstring &path);

protected:
	int id_;
	tstring base_path_;
	IUIDiskFilesManagerInterfaceAutoPtrs upper_disk_managers_;
};
#pragma warning(pop)

_SSUIL_END
_SSL_END
